package de.fhaugsburg.games.boardgames.scrabble;

import de.fhaugsburg.games.boardgames.CircularList;
import de.fhaugsburg.games.boardgames.IPool;
import de.fhaugsburg.games.boardgames.PlayerMode;
import de.fhaugsburg.games.boardgames.scrabble.managment.GridPoint;
import de.fhaugsburg.games.boardgames.scrabble.managment.ScrabbleRandomPool;
import de.fhaugsburg.games.boardgames.scrabble.managment.WordManager;

public interface IScrabbleEngine {
	
	public void setPlayerMode(PlayerMode playerMode);

	public void setCurrentState(State state, LetterPiece piece, GridPoint point);

	public ScrabbleBoard getScrabbleBoard();
	
	public void setCurrentPlayer(ScrabblePlayer player);

	public ScrabblePlayer getCurrentPlayer();

	public IPool getPool();

	public void addPlayer(ScrabblePlayer player);

	public void changePlayersPieces();

	public WordManager getWordManager();

	public CircularList<ScrabblePlayer> getPlayerList();
	
	public void setScores();


}
